package com.show.business.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.show.business.device.bean.DeviceManage;

import java.util.List;

/**
 * <p>
 * 设备管理 Mapper 接口
 * </p>
 *
 * @author dvlp
 * @since 2023-10-14
 */
public interface DeviceManageMapper extends BaseMapper<DeviceManage> {
    /**
     * 列表查询
     * @param deviceManage
     * @return
     */
    List<DeviceManage> getList(DeviceManage deviceManage);

    /**
     * 设备详情
     * @param id
     * @return
     */
    DeviceManage getInfo(String id);

    /**
     * 重复设备编码数量
     * @param deviceManage
     * @return
     */
    int repeatCodeNum(DeviceManage deviceManage);

    /**
     * 重复IMEI数量
     * @param deviceManage
     * @return
     */
    int repeatImeiNum(DeviceManage deviceManage);

    /**
     * 重复ICCID数量
     * @param deviceManage
     * @return
     */
    int repeatIccidNum(DeviceManage deviceManage);

    /**
     * 软删除
     * @param id
     */
    void updateDel(String id);

    /**
     * 根据设备id获取分组设备列表查询
     * @param groupId
     * @return
     */
    List<DeviceManage> getListByGroupId(String groupId);

    /**
     * 根据设备imei获取设备列表查询
     * @param imei
     * @return
     */
    List<DeviceManage> getListByImei(String imei);

    /**
     * 获取分组设备列表查询
     * @param deviceManage
     * @return
     */
    List<DeviceManage> getListByGroup(DeviceManage deviceManage);

    /**
     * 查询未分配分组设备
     * @return
     */
    List<DeviceManage> getListByNoGroup(DeviceManage deviceManage);

    /**
     * 统计设备信息
     * @return
     */
    int staticDeviceNum();

    /**
     * 统计异常设备信息
     * @return
     */
    int staticUnusualDeviceNum();
    /**
     * 统计正常线路信息
     * @return
     */
    int staticLineNum();

    /**
     * 统计异常线路信息-1
     * @return
     */
    int staticUnusualLineNum1();

    /**
     * 统计异常线路信息-2
     * @return
     */
    int staticUnusualLineNum2();
}
